package cn.jingyuan.owl.web.mapping;

import java.util.Collection;

/**
 * 资源（api）扫描处理器
 */
public interface ApiScanProcessor {

    /**
     * 获取应用标识
     *
     * @return 应用标识
     */
    String getApplication();

    /**
     * 设置服务标识
     *
     * @param application 服务标识
     */
    void setApplication(String application);

    /**
     * 获取应用名称
     */
    String getApplicationName();

    /**
     * 设置应用名称
     */
    void setApplicationName(String applicationName);

    /**
     * 获取上下文路径
     *
     * @return 上下文路径
     */
    String getContextPath();

    /**
     * 设置上下文路径
     *
     * @param contextPath 上下文路径
     */
    void setContextPath(String contextPath);

    /**
     * 添加需要被忽略扫的资源
     *
     * @param urls 略扫的资源
     */
    void addIgnoreUrls(Collection<String> urls);

    /**
     * 获取被忽略的资源
     *
     * @return 忽略的资源
     */
    Collection<String> getIgnoreUrls();

    /**
     * 禁用扫描
     */
    void disableScan();

    /**
     * 启用扫描
     */
    void enableScan();

    /**
     * 是否开启扫描
     *
     * @return {@code true}：开启扫描，{@code false}：禁用扫描
     */
    boolean isEnableScan();

}
